#define _CRT_SECURE_NO_WARNINGS 1
int GetMidi(int* a, int left, int right)
{
	// 计算中间元素的下标
	int mid = (left + right) / 2;

	// 比较三个元素：left, mid, right
	// 首先比较left和mid
	if (a[left] < a[mid])
	{
		// 如果left < mid，再比较mid和right
		if (a[mid] < a[right])
		{
			// 如果left < mid < right，则mid是中间值
			return mid;
		}
		else if (a[left] > a[right])  // 如果left > right，则mid是最大值
		{
			// 在这种情况下，left是中间值
			return left;
		}
		else
		{
			// 如果left < right，则right是中间值
			return right;
		}
	}
	else // 如果a[left] > a[mid]
	{
		// 比较mid和right
		if (a[mid] > a[right])
		{
			// 如果mid > right，则mid是中间值
			return mid;
		}
		else if (a[left] < a[right]) // 如果left < right，则mid是最小值
		{
			// 在这种情况下，left是中间值
			return left;
		}
		else
		{
			// 如果left > right，则right是中间值
			return right;
		}
	}
}